In object-oriented systems, software objects map to real-world objects. Object-oriented systems development includes the process of identifying, analyzing, refining and implementing these mappings. Real-world object instances evolve and their properties and behavior, and more specifically, their classes change over time. In conventional object-oriented systems, however, software object instances are, in effect, static, and therefore do not map to a real-world object's changing class. With known techniques that address the static nature of software object instances, space requirements and/or execution costs related to object operations create unattractive burdens. Thus, a need exists in the object-oriented programming arts for an improved technique to dynamically convert a class of an object at run-time.